//==============================================================================
// unitaitypes.txt
//
// Copyright (c) 2000, Ensemble Studios
//
//==============================================================================

//=============================================================================
// Format:
// Type "Name of type" (this will be the name you use in proto.txt)
// Attack                        Turns can attack ON for every type.
// NoAttack                      Turns can attack OFF for every type.
// Attack "Unit Type"            Turns can attack ON for "Unit Type"
// NoAttack "Unit Type"          Turns can attack OFF for "Unit Type"
// AutoAttack                    Turns auto attack ON for every type.
// NoAutoAttack                  Turns auto attack OFF for every type.
// AutoAttack "Unit Type"        Turns auto attack ON for "Unit Type"
// NoAutoAttack "Unit Type"      Turns auto attack OFF for "Unit Type"
// RespondToAttack               Turns attack response ON for every type.
// NoRespondToAttack             Turns attack response OFF for every type.
// RespondToAttack "Unit Type"   Turns attack response ON for "Unit Type"
// NoRespondToAttack "Unit Type" Turns attack response OFF for "Unit Type"
// NoRunAway                     Restricts these units from running away when they cannot return an attack
//
// Once you declare another Type, the previous Type is done and cannot be modified.

//=============================================================================
// 
//=============================================================================
// STANDARD

Type "Passive"
// For units that have no attack
// == Default AI
NoAttack
NoAutoAttack
NoRespondToAttack

Type "Civilian"
Attack "Wood"
Attack "LogicalTypeVillagersAttack"
NoAutoAttack
RespondToAttack "LogicalTypeVillagersRespondToAttack"

Type "Scout"
Attack "LogicalTypeHandUnitsAttack"
NoAutoAttack
RespondToAttack "LogicalTypeScoutsRespondToAttack"

Type "HandCombative"
// For units that can fight, like soldiers
Attack "LogicalTypeHandUnitsAttack"
AutoAttack "LogicalTypeHandUnitsAutoAttack"
RespondToAttack "LogicalTypeHandUnitsAttack"

Type "RangedCombative"
// For units that can fight, like soldiers, and shoot flying units
Attack "LogicalTypeRangedUnitsAttack"
AutoAttack "LogicalTypeRangedUnitsAutoAttack"
RespondToAttack "LogicalTypeRangedUnitsAttack"

Type "MixedCombative"
// For units that can fight, like soldiers, and shoot flying units
Attack "LogicalTypeRangedUnitsAttack"
AutoAttack "LogicalTypeRangedUnitsAutoAttack"
RespondToAttack "LogicalTypeRangedUnitsAttack"
NoRunAway

Type "RangedSiege"
// For Catapult, Petrobolos, Ballista
Attack "LogicalTypeRangedUnitsAttack"
AutoAttack "LogicalTypeSiegeAutoAttack"
RespondToAttack "LogicalTypeRangedUnitsAttack"

Type "Ram"
// For Portable Ram and some other melee siege units.
Attack "LogicalTypeHandUnitsAttack"
AutoAttack "LogicalTypeSiegeAutoAttack"
RespondToAttack "LogicalTypeHandUnitsAttack"

//=============================================================================
// ANIMALS

Type "SuperPredator"
// like a predator, but will attack army units
Attack "LogicalTypeSuperPredatorsAttack"
AutoAttack "LogicalTypeSuperPredatorsAutoAttack"
RespondToAttack "LogicalTypeSuperPredatorsAttack"

Type "Predator"
// Eats vulnerable human units, like a Wolf
Attack "LogicalTypePredatorsAttack"
AutoAttack "LogicalTypePredatorsAutoAttack"
RespondToAttack "LogicalTypePredatorsAttack"

Type "MeanPredator"
// Somewhere between a Predator and a SuperPredator.
Attack "LogicalTypeHandUnitsAttack"
AutoAttack "LogicalTypeMeanPredatorsAutoAttack"
RespondToAttack "LogicalTypeHandUnitsAttack"

Type "Reactive"
// Fights back if attacked, like a Boar
Attack "LogicalTypePredatorsAttack"
NoAutoAttack
RespondToAttack "LogicalTypePredatorsAttack"

Type "Prey"
// Will run away if attacked, like a Deer
NoAttack
NoAutoAttack
NoRespondToAttack

Type "HerdAnimal"
// Will not run away if attacked
NoAttack
NoAutoAttack
NoRespondToAttack
NoRunAway

//=============================================================================
// UNUSUAL

Type "Petard"
Attack "LogicalTypeHandUnitsAutoAttack"
NoAutoAttack
NoRespondToAttack
NoRunAway

Type "Meteor"
Attack "Building"
NoAutoAttack
NoRespondToAttack

Type "Lightning"
Attack "Unit"
NoAutoAttack
NoRespondToAttack

Type "Earthquake"
Attack "LogicalTypeEarthquakeAttack"
NoAutoAttack
NoRespondToAttack

Type "Tornado"
Attack "LogicalTypeTornadoAttack"
NoAutoAttack
NoRespondToAttack

Type "Serpent"
Attack "LogicalTypePredatorsAttack"
AutoAttack "LogicalTypePredatorsAttack"
RespondToAttack "LogicalTypePredatorsAttack"

Type "HeroBoar"
Attack "LogicalTypeHandUnitsAttack"
NoAutoAttack
RespondToAttack "LogicalTypeHandUnitsAttack"

Type "Sea Serpent"
Attack "LogicalTypeSeaSerpentAttack"
AutoAttack "LogicalTypeSeaSerpentAttack"
RespondToAttack "LogicalTypeSeaSerpentAttack"

Type "Kraken"
// Only for the SPC Krakens
Attack "LogicalTypeHandUnitsAttack"
AutoAttack "LogicalTypeHandUnitsAutoAttack"
RespondToAttack "LogicalTypeHandUnitsAttack"
NoRunAway

Type "HeroDwarf"
Attack "LogicalTypeVillagersAttack"
AutoAttack "LogicalTypeHandUnitsAutoAttack"
RespondToAttack "LogicalTypeVillagersAttack"

//=============================================================================
// STYGIAN EMPEROR'S AOM

Type "VillagerBunker"
// For Ox Carts only, at the moment.
Attack "LogicalTypeRangedUnitsAttack"
AutoAttack "LogicalTypeDangerousAnimals"
RespondToAttack "LogicalTypeRangedUnitsAttack"
NoRunAway

Type "SiegeReactive"
// like Reactive, but can react to buildings, too (rhinos and elephants).
Attack "LogicalTypeHandUnitsAttack"
NoAutoAttack
RespondToAttack "LogicalTypeHandUnitsAttack"
NoRespondAttack "LogicalTypeIdleHero"
NoRespondAttack "LogicalTypeMythUnitNotTitan"

Type "CivilianHero"
// like Civilian, but will automatically attack a few weak enemy types before they themselves can be attacked,
// and will fight back if attacked by any units that can traverse land (but not buildings)*. Can also attack flying units.
// Intended for Atlantean Citizen Heroes and Dwarves.
Attack "Wood"
Attack "LogicalTypeRangedUnitsAttack"
Attack "LogicalTypeVillagersAttack"
AutoAttack "LogicalTypeDangerousAnimals"
RespondToAttack "LogicalTypeRangedUnitsAttack" 
// NoRespondAttack "LogicalTypeBuildingsNotWalls" //seems to make them not respond to any attacks at all
// RespondToAttack "LogicalTypeVillagersRespondToAttack"
// RespondToAttack "LogicalTypeLandMilitary" //LogicalTypeLandMilitary doesn't include Predators
// Multiple RespondToAttacks doesn't seem to be working for some reason.

// 	-	TURNS OUT I'D RATHER JUST HAVE THEM SET TO DEFENSIVE OR STAND GROUND STANCE
// Type "HandCombatMedic"
// // like HandCombative, but will not automatically attack.
// // Intended for healer units that only have a weak attack that affects ground units, such as Ondinii, so they hopefully remain close to the wounded.
// Attack "LogicalTypeHandUnitsAttack"
// NoAutoAttack
// RespondToAttack "LogicalTypeHandUnitsAttack"

Type "RangedCombatMedic"
// like RangedCombative, but will not automatically attack.
// Intended for ranged healer units that only have a weak attack, such as Caladria, so they hopefully remain close to the wounded.
Attack "LogicalTypeRangedUnitsAttack"
NoAutoAttack
RespondToAttack "LogicalTypeRangedUnitsAttack"

Type "RangedCombatMedicHero"
// like RangedCombative, but will only automatically attack myth units.
// Intended for ranged healer units that have a weak attack vs. non-myth units, like Priests and (non-Osiris) Pharaohs.
Attack "LogicalTypeRangedUnitsAttack"
AutoAttack "AbstractTitan"
AutoAttack "LogicalTypeMythUnitNotTitan"
RespondToAttack "LogicalTypeRangedUnitsAttack"

Type "HandCombativePlusSiege"
// For human military units and heroes that can fight in melee and deal some crushing or bonus damage against buildings, such as Hetairoi, Axeman, Ulfsark, Maceman, Lancer, Herakles, and Polyphemus.
Attack "LogicalTypeHandUnitsAttack"
AutoAttack "LogicalTypeSiegeAutoAttack"
AutoAttack "LogicalTypeHandUnitsAutoAttack"
RespondToAttack "LogicalTypeHandUnitsAttack"

Type "RangedCombativePlusSiege"
// For human military units and heroes that can fight at range and deal some crushing or bonus damage against buildings, such as Crossbowman and Ghast. Not for Fire Lance; they have their own AI type.
Attack "LogicalTypeRangedUnitsAttack"
AutoAttack "LogicalTypeSiegeAutoAttack"
AutoAttack "LogicalTypeRangedUnitsAutoAttack"
RespondToAttack "LogicalTypeRangedUnitsAttack"

Type "Tremor"
Attack "LogicalTypeTremorAttack"
NoAutoAttack
NoRespondToAttack

Type "Volcano"
// For the Tartarian Gate so it doesn't AutoAttack its own Cacodaemons.
Attack "LogicalTypeRangedUnitsAttack"
AutoAttack "LogicalTypeVolcanoAttack"
RespondToAttack "LogicalTypeRangedUnitsAttack"

// MYTH UNITS	-	DOESN'T SEEM TO WORK - THEY DON'T AUTOATTACK ANYTHING
// Type "MythHandCombative"
// // For melee myth units to keep them from targeting heroes when there are better options.
// Attack "LogicalTypeHandUnitsAttack"
// AutoAttack "LogicalTypeHandUnitsAutoAttack"
// NoAutoAttack "LogicalTypeIdleHero"
// RespondToAttack "LogicalTypeHandUnitsAttack"
// 
// Type "MythRangedCombative"
// // For ranged myth units to keep them from targeting heroes when there are better options.
// Attack "LogicalTypeRangedUnitsAttack"
// AutoAttack "LogicalTypeRangedUnitsAutoAttack"
// NoAutoAttack "LogicalTypeIdleHero"
// RespondToAttack "LogicalTypeRangedUnitsAttack"
// 
// Type "MythHandSiege"
// // For melee siege myth units to keep them from targeting heroes when there are better options.
// Attack "LogicalTypeHandUnitsAttack"
// AutoAttack "LogicalTypeHandUnitsAutoAttack"
// AutoAttack "LogicalTypeSiegeAutoAttack"
// NoAutoAttack "LogicalTypeIdleHero"
// RespondToAttack "LogicalTypeHandUnitsAttack"
// 
// Type "MythRangedSiege"
// // For ranged siege myth units to keep them from targeting heroes when there are better options.
// Attack "LogicalTypeRangedUnitsAttack"
// AutoAttack "LogicalTypeRangedUnitsAutoAttack"
// AutoAttack "LogicalTypeSiegeAutoAttack"
// NoAutoAttack "LogicalTypeIdleHero"
// RespondToAttack "LogicalTypeRangedUnitsAttack"